﻿using System;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace IcicleFramework.Renderables.Components
{
    public interface IRenderableComponent : IXmlBuildable
    {
        bool Active { get; }

        IRenderable Parent { get; set; }

        Type BaseType { get; set; }

        void Update(GameTime gameTime);

        IRenderableComponent DeepClone();

        void Draw(SpriteBatch spriteBatch, Vector2 position);

        void Initialize();
    }
}
